every object in the heap is allocated like this

|[HDR]|[RAW1][RAW2]...|[SCM1][SCM2]...|
|--1--|----rawlen-----|----scmlen-----|

the stack frames are like this:










[ arg 0       ] <----- base ptr
---------------
